package com.xasxt.book.app.service;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.xasxt.book.app.dao.UserDaoMapper;
import com.xasxt.book.app.entity.Role;
import com.xasxt.book.app.entity.User;
/**
 * 功能:
 * 开发者:虫儿飞
 * 开发时间:2018年5月19日 下午2:05:32
 */
@Service
@Transactional(isolation=Isolation.DEFAULT,
rollbackFor=Exception.class,propagation=Propagation.REQUIRED)
public class UserService {
	@Autowired
	private UserDaoMapper   userDaoMapper;

	public int  delUseOfRoleInfo(Map<String,Object>map) {
		return userDaoMapper.delUseOfRoleInfo(map);
	}
	
	/**
	 * 
	 * 功能:用户分配角色
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月20日 下午3:57:04
	 * @param map
	 * @return
	 */
	public boolean  saveRoleOfUserInfo(Map<String,Object>map) {
		return userDaoMapper.saveRoleOfUserInfo(map)!=0?true:false;
	}


	/**
	 * 
	 * 功能:删除用户信息
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月20日 下午1:35:26
	 * @param userId
	 * @return
	 */
	public boolean   delUserInfo(int userId) {
		return userDaoMapper.delUserInfo(userId)!=0?true:false;
	}
	/**
	 * 
	 * 功能:修改用户信息
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月20日 下午1:34:46
	 * @param user
	 * @return
	 */
	public boolean updateUserInfo(User user) {
		return userDaoMapper.updateUserInfo(user)!=0?true:false;
	}

	/**
	 * 
	 * 功能:查询一条用户信息
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月20日 下午1:34:17
	 * @param userId
	 * @return
	 */
	public   User getUserInfo(int userId) {
		return userDaoMapper.getUserInfo(userId);
	}

	/**
	 * 
	 * 功能:
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月19日 下午3:59:10
	 * @param map
	 * @return
	 */
	public User login(Map<String,Object>map)
	{
		return userDaoMapper.login(map);
	}



	/**
	 * 
	 * 功能:用户信息添加
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月20日 上午9:51:42
	 * @param user
	 * @return
	 */
	public boolean  saveUserInfo(User user) {
		return userDaoMapper.saveUserInfo(user)!=0?true:false;
	}
	/**
	 * 
	 * 功能:用户信息分页查询
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月20日 上午9:52:12
	 * @param map
	 * @return
	 */
	public	List<User>findUserWithPage(Map<String,Object>map){
		return userDaoMapper.findUserWithPage(map);
	}

	/**
	 * 
	 * 功能:统计分页记录数
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月20日 上午9:52:33
	 * @param map
	 * @return
	 */
	public int  getUserCount(Map<String,Object>map) {
		return userDaoMapper.getUserCount(map);
	}
	/**
	 * 
	 * 功能:根据用户id查询该用户底下的角色新
	 * 开发者:虫儿飞
	 * 开发时间:2018年5月20日 下午3:33:32
	 * @param userId
	 * @return
	 */
	public List<Role>findUserByIdRoleInfo(int userId){
		return   userDaoMapper.getUserInfo(userId).getListRole();
	}
}
